Python Numpy 数组的基本操作示例

您所在的位置:网站首页 python 数组的操作 Python Numpy 数组的基本操作示例

Python Numpy 数组的基本操作示例

#Python Numpy 数组的基本操作示例| 来源: 网络整理| 查看: 265

Numpy是一个通用的数组处理包。它提供了一个高性能的多维数组对象,以及处理这些数组的工具。它是Python科学计算的基本包。

Numpy除了具有明显的科学用途外,还可以作为通用数据的高效多维容器。

Numpy中的数组

Numpy中的数组是一个元素表(通常是数字),所有元素都是相同的类型,由一个正整数元组索引。在Numpy中,数组的维数称为数组的秩。一个整数的元组给出了数组在每个维度上的大小,称为数组的形状。Numpy中的数组类称为ndarray。Numpy数组中的元素可以使用方括号访问,也可以使用嵌套Python列表初始化。

创建一个Numpy数组

Numpy中的数组可以通过多种方式创建,具有不同数量的秩,定义数组的大小。数组还可以使用各种数据类型(如列表、元组等)创建。合成阵列的类型由序列中元素的类型导出。

注意:可以在创建数组时显式定义数组的类型。

# Python程序 # 数组的创建 import numpy as np # 创建rank 1数组 arr = np.array([1, 2, 3]) print("Array with Rank 1: \n",arr) # 创建rank 2数组 arr = np.array([[1, 2, 3], [4, 5, 6]]) print("Array with Rank 2: \n", arr) # 从元组创建一个数组 arr = np.array((1, 3, 2)) print("\nArray created using " "passed tuple:\n", arr)

输出如下:

Array with Rank 1:  [1 2 3]Array with Rank 2:  [[1 2 3] [4 5 6]]

Array created using passed tuple: [1 3 2]

Python Numpy 数组的基本操作示例

访问数组索引

在numpy数组中,索引或访问数组索引可以通过多种方式完成。 要打印一系列数组,请完成切片。 切片数组是在新数组中定义一个范围,用于从原始数组中打印一系列元素。 由于切片数组包含原始数组的一系列元素,因此在切片数组的帮助下修改内容会修改原始数组内容。

#Pthon程序来演示 #numpy数组中的索引 import numpy as np #初始数组 arr = np.array([[-1, 2, 0, 4], [4, -0.5, 6, 0], [2.6, 0, 7, 8], [3, -7, 4, 2.0]]) print("Initial Array: ") print(arr) #打印数组的范围 #使用切片方法 sliced_arr = arr[:2, ::2] print ("Array with first 2 rows and" " alternate columns(0 and 2):\n", sliced_arr) #打印元素 #specific Indices Index_arr = arr[[1, 1, 0, 3], [3, 2, 1, 0]] print ("\nElements at indices (1, 3), " "(1, 2), (0, 1), (3, 0):\n", Index_arr)

输出如下:

Initial Array: [[-1.  2.  0.  4. ] [ 4.  -0.5  6.  0. ] [ 2.6  0.  7.  8. ] [ 3.  -7.  4.  2. ]]Array with first 2 rows and alternate columns(0 and 2): [[-1.  0.] [ 4.  6.]]

Elements at indices (1, 3), (1, 2), (0, 1), (3, 0): [0. 6. 2. 3.]

Python Numpy 数组的基本操作示例

基本阵列操作

在numpy中,数组允许可以在特定阵列或阵列组合上执行的各种操作。 这些操作包括一些基本的数学运算以及一元和二元运算。

#Pthon程序来演示 #单个阵列的基本操作 import numpy as np #定义数组1 a = np.array([[1, 2], [3, 4]]) # Defining Array 2 b = np.array([[4, 3], [2, 1]]) #向每个元素添加1 print ("Adding 1 to every element:", a + 1) # 每个元素减去2 print ("\nSubtracting 2 from each element:", b - 2) # 数组元素和 # 执行一元操作 print ("\nSum of all array " "elements: ", a.sum()) #添加两个数组 #执行二进制操作 print ("\nArray sum:\n", a + b)

输出如下:

Adding 1 to every element: [[2 3] [4 5]]

Subtracting 2 from each element: [[ 2  1] [ 0 -1]]

Sum of all array elements:  10

Array sum: [[5 5] [5 5]]

Python Numpy 数组的基本操作示例

Numpy中的数据类型

每个Numpy数组都是一个元素表(通常是数字),都是相同的类型,由正整数元组索引。 每个ndarray都有一个关联的数据类型(dtype)对象。 此数据类型对象(dtype)提供有关阵列布局的信息。 ndarray的值存储在缓冲区中,缓冲区可以被认为是可以由dtype对象解释的连续的存储器字节块。 Numpy提供了大量可用于构造数组的数值数据类型。 在创建数组时,Numpy尝试猜测数据类型,但构造数组的函数通常还包含一个可选参数来显式指定数据类型。

构造数据类型对象

在Numpy中,除非需要特定的数据类型,否则无需定义数组的数据类型。 Numpy试图猜测构造函数中未预定义的数组的数据类型。

#Python程序创建 #数据类型对象 import numpy as np #整数数据类型 x = np.array([1, 2]) print("Integer Datatype: ") print(x.dtype) #浮动数据类型 x = np.array([1.0, 2.0]) print("\nFloat Datatype: ") print(x.dtype) # 强制数据类型 x = np.array([1, 2], dtype = np.int64) print("\nForcing a Datatype: ") print(x.dtype)

Integer Datatype: int64

Float Datatype: float64

Forcing a Datatype: int64

Python Numpy 数组的基本操作示例

DataType数组上的数学运算

在Numpy数组中,基本数学运算在数组上以元素方式执行。 这些操作既可以作为操作符重载也可以作为函数应用。 Numpy中提供了许多有用的函数,用于对数组执行计算,例如sum:用于添加数组元素,T:用于元素的转置等。

#Python程序创建 #数据类型对象 import numpy as np #第一个数组 arr1 = np.array([[4, 7], [2, 6]], dtype = np.float64) #第二个数组 arr2 = np.array([[3, 6], [2, 8]], dtype = np.float64) #添加两个阵列 Sum = np.add(arr1, arr2) print("Addition of Two Arrays: ") print(Sum) #添加所有数组元素 #使用预定义的sum方法 Sum1 = np.sum(arr1) print("\nAddition of Array elements: ") print(Sum1) # 数组的平方根 Sqrt = np.sqrt(arr1) print("\nSquare root of Array1 elements: ") print(Sqrt) #数组转置 #使用内置功能'T' Trans_arr = arr1.T print("\nTranspose of Array: ") print(Trans_arr)

输出如下:

Addition of Two Arrays: [[ 7. 13.] [ 4. 14.]]

Addition of Array elements: 19.0

Square root of Array1 elements: [[2.        2.64575131] [1.41421356 2.44948974]]

Transpose of Array: [[4. 2.] [7. 6.]]

Python Numpy 数组的基本操作示例

更多Python相关信息见Python 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=17

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址:https://www.linuxidc.com/Linux/2019-05/158506.htm

linux


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3